/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.baatar.opt.pga.intf;

import org.baatar.opt.genetic.chromosome.MigrantChromosome;
import org.baatar.remoting.service.RemotingServiceInfo;

/**
 *
 * @author Ba
 */
public interface IPGACluster<T, M> {
//    public Integer registerCoordinator(RemotingServiceInfo coordinatorNetInfo, Integer clusterIndex, AlgorithmParameters<T, M> algoPref) throws Exception;
    public RemotingServiceInfo getClusterNetInfo() throws Exception;
    public Integer prepareOptimizers() throws Exception;
    public Integer runOptimizers() throws Exception;
    public void migrate(MigrantChromosome<M> migrants[]) throws Exception;
    public void waitForOptimizers() throws Exception;   //  For massively parallel impl. But i am not sure if it is really necessary.***********
}
